﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Avanade.ViddlerDotNet.DataContracts
{
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(ElementName = "comment", Namespace = "", IsNullable = false)]
    public partial class Comment
    {
        private uint id;
        private string type;
        private string author;
        private byte rating;
        private uint parent;
        private bool parentSpecified;
        private string text;
        private ulong addTime;
        private uint addTimepoint;
        private bool addTimepointSpecified;
        private ulong time;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName = "id", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public uint ID
        {
            get { return this.id; }
            set { this.id = value; }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName = "type", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string Type
        {
            get { return this.type; }
            set { this.type = value; }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName = "author", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string Author
        {
            get { return this.author; }
            set { this.author = value; }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName = "rating", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public byte Rating
        {
            get { return this.rating; }
            set { this.rating = value; }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName = "parent", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public uint Parent
        {
            get { return this.parent; }
            set { this.parent = value; }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ParentSpecified
        {
            get { return this.parentSpecified; }
            set { this.parentSpecified = value; }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName = "text", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string Text
        {
            get { return this.text; }
            set { this.text = value; }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName = "add_time", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public ulong AddTime
        {
            get { return this.addTime; }
            set { this.addTime = value; }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName = "add_timepoint", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public uint AddTimepoint
        {
            get { return this.addTimepoint; }
            set { this.addTimepoint = value; }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AddTimepointSpecified
        {
            get { return this.addTimepointSpecified; }
            set { this.addTimepointSpecified = value; }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName = "time", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public ulong Time
        {
            get { return this.time; }
            set { this.time = value; }
        }
    }
}